Orthotic support and stimulus systems and methods

ABSTRACT

An embodiment of the invention includes (a) modeling a first internal force applied to a model of a user&#39;s joint based on a first external force externally applied to the joint at a first position; (b) modeling a second internal force applied to the model based on a second external force externally applied to the joint at a second position unequal to the first position; (c) comparing the first and second modeled internal forces; and (d) simulating the user based on the comparison. Other embodiments are described herein.

BACKGROUND

Interfaces between biological and computing systems are becoming morecommonplace, particularly in application areas of assistiverehabilitation and movement aids, such as powered prosthetic devices.The vast majority of these devices use state machine architectures,state definitions being comprised of one or more pre-defined patterntemplates to translate between biological function and controlalgorithms. The state definitions used for these purposes, however, arenecessarily idealized or averaged from a broad population. Theytherefore are invariably in any instance imperfect replicas of theunderlying biological elements, which vary tremendously from individualto individual in differing conditions. Beyond these individualdifferences, environmental conditions, clothing, sensor positions,specific movements of an action, and motion speed are but a few of themany variables that can change extremely quickly, frustrating operationwithin any pattern template. To accommodate all variances, physicalposition and velocity patterns used must often then be so broad as tonegatively impact even operation in slow-moving contexts. Furtherperformance degradation in quickly-moving dynamic situations usuallyresults when smaller positional changes, which occur more often athigher speeds, fall well within the broad template positional rangesmandated.

Adaptation of idealized state definition templates to an individualinstance through selective parameter modification has shown moderatesuccess, most notably improving transient behavior by tightening stateboundary definitions. Even when dynamically optimized, however, directcomparison of measured conditions against any state definition templateinherently limits viability to those conditions defined within thetemplate. Inherently lacking extrapolation, predictable system controlin a purely template-driven system occurs only when input conditionsfall within template definitions. This therefore constrains tightcontrol operation to circumstances in which the state definitiontemplates have been either defined or trained. For example, dynamicadaptation which forms a template to define dynamically-stimulated legmuscle contraction criteria during normal walking on a level surfacedoes not necessarily extend to previously unencountered situations, suchas descending stairs. In the presence of poorly-defined states, directmeasurement of the end control goal, particularly in biologicalapplications, is therefore extremely difficult at best, making classicfeedback loops untenable.

Following the leg stimulation example, the purpose of an orthopedicdevice may be to protect a damaged joint through external dynamicallycontrolled force vectors. Implicit to this goal is maintaining internalvectored joint force magnitudes within proscribed limits. Due toinertial components in the multiple degrees of freedom involved, similarvectored forces within the joint may however result from a great numberof disrelated positional and motion conditions. External position andmotion measurements show poor correlation with internal vectored jointforce magnitudes, primarily due to the compound nature of most joints.Direct control loop closure on internal joint forces is made untenableby joint invasion in most applications. For example, it may beimpractical to calculate internal condyle forces by physically placingload cells inside the joint to get internal force measurements. Yetdevelopment of a positional template with high coverage of all scenariosrequiring vectored joint protection is made unlikely by the sheer numberof positions and motions possible. The previous example depicts ascenario wherein nonlinear behavior of a controlled system is notreadily apparent through direct measurements, but is available inconcise form through modeling of the physical system, as excited bymeasured dynamic conditions. This concise form is highly amenable to astate machine architecture, not only in biological interfaces like theexample above, but in any control situation wherein direct control ofhigher-order effects of a multiplicity of excitation sources is desired.

Computational requirements of a state machine are in direct proportionto the number of state definitions inspected in any period of time.Highest efficiency then occurs with a minimum number of stateexit/entrance criteria open for inspection at any given time.Significant control events, however, such as bone-on-bone condularimpact in the orthopedic example above, often exist in a context ofvariances both in time and from instance to instance. In the exampleabove, gait patterns predictive of condular impact vary significantlyboth with patient fatigue and from patient to patient. With broadphysical system variances, identities of measured and even modeledconditions indicative of a significant control event can change or evenbe unknown when the control system is designed. Following the orthopedicexample, knee kinematics are very different between heavy and slightpatients. In this and many other examples, lack of extrapolativecapability mandates that optimal state template definitions exhaustivelycover possible system instances and conditions. A broad set of statecondition criteria which covers all applications is not onlycomputationally inefficient, but loses ability to distinguish byaveraging the context in which significant control events are inspected.

A need exists for a state determination technique with adequateknowledge of the underlying structural system to allow robust andaccurate control operation in both previously-observed and completelynew operational conditions.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of embodiments of the present invention willbecome apparent from the appended claims, the following detaileddescription of one or more example embodiments, and the correspondingfigures, in which:

FIG. 1 includes a block diagram of a finite state machine controller.

FIG. 2 includes a block diagram of a computational architecturedemonstrating use of an embodiment of the invention.

FIG. 3 includes a block diagram of an embodiment of the invention usedto control an orthopedic muscle stimulation device affixed to a leg.

FIG. 4 includes state machine attributes of the architecture of FIG. 2in the embodiment context of FIG. 3.

FIG. 5 includes a block diagram of an embodiment of the invention usedto improve stability of a golf cart.

FIG. 6 shows a block diagram of an embodiment of the invention used toaugment safety of a pogo stick.

FIG. 7 includes a block diagram of a system for use with embodiments ofthe invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forthbut embodiments of the invention may be practiced without these specificdetails. Well-known circuits, structures and techniques have not beenshown in detail to avoid obscuring an understanding of this description.“An embodiment”, “various embodiments” and the like indicateembodiment(s) so described may include particular features, structures,or characteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Some embodimentsmay have some, all, or none of the features described for otherembodiments. “First”, “second”, “third” and the like describe a commonobject and indicate different instances of like objects are beingreferred to. Such adjectives do not imply objects so described must bein a given sequence, either temporally, spatially, in ranking, or in anyother manner. “Connected” may indicate elements are in direct physicalor electrical contact with each other and “coupled” may indicateelements co-operate or interact with each other, but they may or may notbe in direct physical or electrical contact. Also, while similar or samenumbers may be used to designate same or similar parts in differentfigures, doing so does not mean all figures including similar or samenumbers constitute a single or same embodiment.

An embodiment includes incorporating one or more behavioral definitionsof controlled structure with capacity to resolve dynamic responses ofthese definitions to measured dynamic conditions imposed on saidstructure into a controller utilizing a state machine architecture, andselectively including at least part of these dynamic responses intostate entrance and/or exit criteria. Inclusion of structural definitionsand their responses to stimuli therefore extends available statedefinition criteria to include calculated predictive or modeled responseof the system under control. State discrimination is further improvedthrough use of dynamic selection of parameters to be used for stateentrance and/or exit criteria from this extended set of both measuredand modeled information. Present and optionally historical streams ofboth measured and modeled parameters are provided to a discriminationalgorithm which determines specific parameters to be used for optimaldefinition of two or more states. Stored state definitions so definedare compared to ongoing physical and modeled parameters to detect staterecurrence, following conventional state machine practice.

Referring now to FIG. 1, Signal Acquisition 101 receives input fromvarious sensors (e.g., via electrodes coupled to muscle) or metrics ofthe physical system to be controlled and performs data conversion into aform usable by the control system. Signal Conditioner 102 removes noisefrom incoming signals (e.g., via low pass, high pass, band passfiltering), limits bandwidth of each incoming signal, performs analog todigital conversion, and performs basic data conversions, such asintegration and differentiation. Signals so processed by Conditioner 102are provided at Parameter Stream 107 as input to History Buffer 103.History Buffer 103 provides at Parameter Stream 108 both current andhistorical renditions of signals of Parameter Stream 107. For example,Parameter Stream 108 may augment current measured and/or calculatedinformation (e.g., positions, velocities, and accelerations) withhistorical renditions of the same information, which occurred 10milliseconds (ms), 20 ms, 30 ms, 40 ms, and 50 ms ago. The addition ofHistory Buffer 103 facilitates trend or trajectory calculations. Forexample, coupling generally instantaneous data with previous immediatelypreceding data helps determine acceleration vs. deceleration. ParameterStream 108 is supplied as one input of Comparator 105.

State Criteria Buffer 104 is comprised of Sets of values (withidentities of each) of one or more specific members of Data Stream 108required for transition to a given system state. Each Set thereforespecifies identities of, and finite value ranges of, one or moreconditioned current or historical renditions of measured incoming systemsensor information, coupled with indication of a specific system state.A state transition set appropriate for exit from the current systemstate is output as State Criteria Set 109, which is presented as asecond input of Comparator 105, to be compared against Stream 108discussed above.

Comparator 105 continuously monitors Parameter Stream 108 from HistoryBuffer 103 to locate a value match in all identities of a StateDefinition output by State Criteria Buffer 104 (for the context of theCurrent State 111 discussed below) and the corresponding elements ofParameter Stream 108. Upon recognition of matching values betweenParameter Stream 108 and State Criteria Set 109 currently output byState Criteria Buffer 104, Comparator 105 outputs the appropriate systemState Transition Indication 110, optionally with parameters, indicatedin the state definition to State Condition Buffer 106, which providesboth current System State 111 and State Parameters 112 as outputs. StateTransition Indication 110 therefore holds the current state andoptionally parameters required of downstream control functions while inthe current state of the state machine. System State Indication 111 isprovided as a contextual input to Comparator 105. In that statesavailable for entry are usually limited by the current state, StateIndication 111 limits State Criteria Set 109, hence requisitecomparisons by Comparator 105, to state exit/entry criteria appropriateto the current state only. System State 111 may optionally be suppliedto application layer software. State Parameters 112, consisting ofcontrol constants such as gains or time constants appropriate to thecurrent System State, are supplied to application layer software, whichthen presumably performs requisite activity (e.g., stimulation) for thedenoted state.

Referring now to FIG. 2, Signal Acquisition 201, Conditioner 202,History Buffer 205, State Criteria Buffer 207, Comparator 208, and StateCondition 209 perform the same functions of Signal Acquisition 101,Conditioner 102, History Buffer 103, State Criteria Buffer 104,Comparator 105, and State Condition 106, respectively, all of FIG. 1.

Structural Model 203 contains physical structural or responsedefinitions of one or more underlying system elements, as stimulatedwith the same conditions measured by sensors input to Signal Acquisition201. Examples of the output of Model 203 may be items such as number ofelements, orientation, geometry, and compliances of the physicalstructure to be controlled. (Models are described further below inregards to FIG. 3.) Model Resolver 204, in response to both conditionedsignals received from Conditioner 202 and definitions received fromStructural Model 203, continuously calculates dynamic internalfunctional parameters of the underlying structure defined by Model 203,supplied as Modeled System Response to History Buffer 205. Examples ofModeled System Response may include relevant instantaneous vectoredforces operable on each load-bearing element of the controlledstructure. Specifically, the resolver may calculate how a combination ofexternally sensed conditions (e.g., data from accelerometers worn by theuser) will translate into a specific internal force vector being appliedto the lateral condyle.

History Buffer 205 then adds historical and current renditions ofmodeled system response from Model Resolver 204 to those being producedfrom Conditioner 202, at Parameter Stream 211. The addition ofStructural Model 203 and Model Resolver 204 augments Parameter Stream211 with modeled behavior of the physical system (e.g., knee joint,elbow joint) to be controlled. Note that current conditions andresponses (delay=0) are provided as well as part of Parameter Stream211, all elements of which are provided as input to both CriteriaSelector 206 and Comparator 208.

Event Indicator 210 provides a trigger signal (e.g., from a useractivating switch) at the occurrence of a significant unique operationalevent or condition (e.g., pain) requiring definition of a System Stateto both Criteria Selector 206 and State Criteria Buffer 207. The outputof Event Indicator 210 may therefore be prompted by any set of signalconditions, including information from Parameter Stream 211. Specificparameters selected for monitoring by Event Indicator 210 may bepartially or wholly determined by the current state of the statemachine, System State 215, the source of which is to be described below.In addition to the output of Event Indicator 210, Criteria Selector 206receives as input the Parameter Stream 211, and may as well optionallyreceive as input the current System State 215. Criteria Selector 206,upon receipt of a trigger signal from Event Indicator 210, determinesboth the identity and values of specific Parameter Stream 211 elementsreceived from History Buffer 205 which will provide optimal statedifferentiation or behavior, within the context of the current (e.g.based on state condition 209) and optionally other system operatingstates. Examples of selection techniques used by Selector 206 may bepeak signal derivatives, statistical prevalence, relative calculationsbetween two or more input parameters, spectral deviation, and othersignal discrimination methods. In an embodiment if the current state(e.g., based on state condition 209) indicates the knee is stationarythen Criteria Selector 206 may choose to focus on, for example, peaksignal derivative (e.g., rapid acceleration).

Selected parameter identities and values are provided as State CriteriaSet 212 to State Criteria Buffer 207, which stores State Criteria Set212 as a unitized State Definition at termination of the trigger signalfrom Event Indicator 210. State detection and resultant operationcontinues similarly to the system of FIG. 1, through activities ofComparator 208 and State Condition Buffer 209, as disclosed above,ultimately providing State Indication 215 and State Parameters 216.

The addition of Event Indicator 210 and Criteria Selector 206 representimprovements over conventional systems, introducing capability of thesystem to define its own future states, furthermore using data elementsfound by the control system itself to be optimal at the time of statedefinition.

Referring now to FIG. 3, Accelerometers 303 and 309 are affixed to ahuman Leg 301. Positional Angular Sensor 302 is as well affixed to Leg301, positioned at the center of knee rotation. Outputs of said sensors302, 303, and 309 are supplied as input to Controller 304, which usessaid sensor outputs to ascertain movements and function of Leg 301. Itis assumed that said outputs of Accelerometers 303 and 309 each providethree independent information streams regarding X, Y, and Z-Axes.Controller 304 as well receives the output of Switch 308, which is usedby the wearer to denote undesirable conditions such as pain.

Controller 304, under calculated conditions, outputs a control signal toMuscle Stimulator 305, which in response emits therapy (e.g.,high-voltage pulses) to Electrodes 306 and 307 (e.g., transcutaneouselectrodes). Said Electrodes 306 and 307 are attached to Leg 301 overthe specific muscle from which additional joint support is desired. Inresponse to said high-voltage pulses through Electrodes 306 and 307, theunderlying muscle will contract to support the knee. The output ofController 304 therefore indirectly controls additional knee supportthrough elicited contraction of surrounding musculature.

In one embodiment, all functional blocks of FIG. 2 are embodied ashardware and/or software components of Controller 304 (with theexception of Event Indicator 210). At least part of the function ofEvent Indicator 210 of FIG. 2 is satisfied by Switch 308 of FIG. 3. Itis presumed that Controller 304 incorporates a microcontroller capableof dynamically executing software instructions to effect dynamicelements shown in FIG. 2, but embodiments of the invention may usealternative computing means (e.g., masked application-specificintegrated circuits). In an embodiment, the application layer ofController 304 is comprised of multiple states (e.g., causing active orinactive outputs to Stimulator 305).

In operation, outputs of Sensors 302, 303, and 309 are acquired intoacceptable form by Signal Acquisition 201 of FIG. 2. Output of SignalAcquisition 201 is filtered and additionally converted into, forexample, integral and derivative forms by Conditioner 202 of FIG. 2. Theoutput of said Conditioner 202 therefore will therefore confer kneeposition and motion derived from Sensor 302, as well as both static(gravitic) position and dynamic motion of both femur and tibia of Leg301, derived from Sensors 309 and 303, respectively. A structural modelof the knee is stored in permanent memory of Controller 304 (see block203 of FIG. 2). Said structural model may contain finite elementdefinitions as simple as two frictionless ball joints of specificphysical spacing, or as complex as four condylar surfaces withintermediary compliance gradients of meniscus, joint laxity, andsynovial fluid.

In conjunction with said output of Conditioner 202 of FIG. 2, thesemodel definitions are applied to a Model Resolver 204, also of FIG. 2.The output of said Resolver provides modeled force magnitude and vectorsfor internal forces present on the two condyles of the knee. Forexample, given that gravity and body mass of a given user are bothrelatively constant, accelerations (including gravitic force) in threeorthogonal axes of two connected body members can be used to approximateforces applied to internal elements of a joint connecting the two bodymembers. Vectored static forces on each joint element are a function ofangular position of each body member, relative to the earth. Vectoreddynamic forces on each joint element are comprised of differentialaccelerations of the relatively constant masses of the two body membersas connected to a central body mass, and common-mode accelerations ofprimarily the central body mass. Relative vectored forces may be usedfor force modeling in the given application area and absolute forces arenot strictly necessary in on embodiment of the invention.

Output from module 204 is supplied as input, along with the output ofConditioner 202, to History Buffer 205, also of FIG. 2. Following theprevious example, History Buffer 205 would then as well provide intoStream 211 current renditions of modeled calculations such as medial andlateral condyle vectored forces, as well as these same vectored forces10 ms, 20 ms, 30 ms, 40 ms, and 50 ms ago. Under control of the statemachine structure described herein, Controller 304 provides one or moreparameters as input to Stimulator 305, hence controlling application ofmuscle stimulation pulses to Electrodes 306 and 307. An embodimentdescribing what happens after history buffer 205 is described furtherbelow.

In day-to-day operation, the patient wearing the system of FIG. 3 willperform motions during which additional muscle support for painmitigation is necessary, and press Switch 308 when pain or otherundesirable conditions exist (which can be mitigated indirectly throughmuscular stimulation). Subsequent activities by the wearer, which createconditions similar to those marked undesirable by Switch 308 activation,will result in neuromuscular stimulation output to Electrodes 306 and307 to mitigate pain and/or damage from future activities. In contrast,conventional methods use external force only (e.g., with no applicationfrom the external force to an internal force applied to a model) ordeviation from idealized gait templates. Each and every condition ormotion requiring stimulation must be memorized in order to achieve thisend. Many of these conditions or motions, however, are hazardous to thewearer.

When visualized in normal activities, it will be seen that various forcevectors will be applied to various parts of the knee of Leg 301. Deeperinspection will reveal that multiple dissimilar activities of Leg 301may create very similar vectored forces internal to similar parts of theknee. For example, rapid forward movement of Leg 301 will create kneeforces similar to those created by placing weight on the leg whileextended behind the body; yet position and movement measurementsobtained from Sensors 302, 303, and 309 will be dramatically differentfor these two activities. Relying upon measured information (e.g.,external position sensors worn on outside of leg) without knowledge ofthe underlying structure (i.e., no modeling of internal knee joint) maymandate that Switch 308 be activated during each and every problematicactivity in order to achieve the desired purpose of the exemplarydevice. This presents a large number of activities during which thedevice must be trained many of which may impose user danger and whichmust later be differentiated upon during system use.

Assuming that knee pain or damage may be predicted by impending orpresent vectored force magnitudes, Structural Model 203 of FIG. 2 may becomprised of representations of structural knee elements necessary toresolve internal vectored knee forces when excited by the position andmotion information of Signal Conditioner 202 of FIG. 2. This modelresolution then decouples resultant internal vectored forces fromexternal position and motion measurements, accommodating thecircumstance that any given vectored internal force may be precipitatedby a multitude of position/movement combinations. Internal vectored kneeforces in this example are therefore a much better analog to specificknee pains than are position or motion indications. Even thoughpotentially caused by very dissimilar activities or motions, problematicvectored knee forces can be readily identified by excitation of anaccurate model, greatly reducing state definition complexity.

Individual statures, gait differences, and pathologies create anextremely broad operating range for the exemplary system of FIG. 3.Although indication of pain through Switch 308 activation serves tohighlight a set of conditions during which muscle stimulation isdesired, functional discrimination is still severely diluted by thecommon practice of using of a large fixed subset of conditions to beinspected for state determination. In any given operational condition,very few measured and/or modeled conditions serve to unequivocallydelineate a desired protection state, while many other measured and/ormodeled conditions provide inconsequential noise only. Given wideuse-to-use variance, such as seen in patient-to-patient gaitdifferences, specific identities of salient information to be used forstate inspection is often known only as the system is in actual use, notduring the design cycle. For example, compression of the medial condyleis not readily discriminated from compression of the lateral condyle, ifmany knee positions, movements, and forces are inspected for statedetection in the system of FIG. 3. In the case of medial compression,however, force on that condyle indicated by model output, as shownabove, exhibits a high deviation from its statistical average; whilemodeled lateral condyle force remains near its statistical average. Forthis application, therefore, inspection of those elements withinParameter Stream 211 of FIG. 2 with the highest rate of change serves toenhance discrimination immensely. This follows the circumstance thatlaxity in an arthritic knee causes force on a damaged condyle to beginsuddenly, as the condyle collapses under load. Smooth force changes(with resultant low derivatives) are much less problematic than abruptforce changes (high derivative).

In an embodiment, following this implementation Criteria Selector 206 ofFIG. 2 then identifies incoming elements of Stream 211 with the highestderivative values, while Switch 308 of FIG. 3 is pressed (see also block210 of FIG. 2), for inclusion in the appropriate State Definition to bestored in State Criteria Buffer 207 of FIG. 2. In another embodiment,the selection algorithm in use by Criteria Selector 206 may consist ofdetecting those elements of Stream 211 with the highest statisticalprevalence, as observed during multiple activations of Switch 308 ofFIG. 3. Another embodiment would serve to reduce the effect ofinstantaneous timing errors through averaging.

In contrast to the use of static data identities for state determinationin convention systems, inclusion of Event Indicator 210 and CriteriaSelector 206, both of FIG. 2, in an embodiment of the invention showsidentification during actual use of those data elements most indicativeof the event denoted by activation of Switch 308, of FIG. 3. Althoughreadily discerned during use, specific identities best suited for stateidentification may or may not be known at the time the control system isdesigned.

Detection of data elements with highest derivative values or statisticalprevalence during Switch 308 activations, and subsequent use of thesesimilar vectored forces by Criteria Selector 206 of FIG. 2 to defineStates requiring muscle support creates, per discussion above, StateDefinitions in State Criteria Buffer 207 reflective of undesiredvectored knee forces, regardless of the precipitating motions. Whenthese vectored knee forces within Stream 211 are again detected byComparator 208, State Transition 214 therefore causes State ConditionBuffer 209 to provide constants to downstream control softwareindicative of the appropriate protective state. Presumably, constantspresented to the downstream control system by State Condition Buffer 209for the detected state of problematic knee force will cause or intensifymuscle stimulation from Stimulator 305 of FIG. 3, mitigating undesiredresults of the force. Future motions which create vectored knee forceslearned to be problematic in State Criteria Buffer 207 will thereforeresult in protective activity by the exemplary device, even thoughmotion causing the problematic vectored force may never have existedduring activation of Switch 308 of FIG. 3.

In an embodiment Controller 204 utilizes adaptive techniques tofunctionally normalize all inputs on an ongoing basis and performerror/noise correction. This is necessary to compensate the expectedvariances of environment, fatigue, etc., so as to prevent CriteriaSelector bias from sensor gain differences. Following the previousexample of using maximal condylar force derivative for state detection,sensor manufacturing tolerances could, in the absence of normalization,cause a static condylar bias reflecting sensor gain error, rather thancondylar differential.

Referring now to FIG. 4, State Description, Criteria Identities andValues, and ultimate Control Action are shown for five exemplary statesof the architecture of FIG. 2, as applied to the embodiment of FIG. 3.

State Descriptions for each state shown are solely for explanatorypurpose; transition to each exemplary state, as indicated by StateTransition 214, may be affected by token, handle, number, and the like.In an embodiment, entities with a highest rate of change (following thestated example) are chosen by Criteria Selector 206 for use in StateDefinitions to be stored in State Criteria Buffer 207. CriteriaIdentities and Values show results to be expected (although not in anyway mandated) from Criteria Selector 206 at receipt of a trigger fromEvent Indicator 210. Actions shown for each state are anticipatedStimulator 305 outputs resultant of State Parameters 216, applied tocontrol software downstream of the current invention. In an embodimentthe stimulation amplitude ultimately provided is a function ofcalculated force on the medial condyle, and the lateral vastus isstimulated by Electrodes 306 and 307.

As shown, the Safe (default) State is entered from any active statewhenever the most active condylar force is below 5% of full scale.Stimulation is ceased, presumably through low gains presented at StateParameters 216.

The Posterior Medial Tibia Protection State could be expected tooriginate from a user pressing Switch 308 while ascending a singlestair, placing stress on that portion of the knee. In the (typical)circumstance of medial erosion, sudden medial (modeled) force above 10%could be expected. In active users, rapid deceleration of the femur(giving a high derivative) could additionally be expected, so could beas well selected by Criteria Selector 206. Gradually-increasingstimulation would be expected, reflective of the causal motion.

The Centered Medial Protection State could be expected as the userenters stance phase of the gait cycle by planting the heel of Leg 301.High force derivatives could be expected on both condyles, usuallyaccompanied by high tibial accelerations in the transverse plane. In theexample shown, higher force on the lateral (sound) condyle is used toqualify the lower force on the medial condyle. In a user with a morerapid gait, however, it could be expected that Criteria Selector 206would find a greater derivative in tibia transverse plane motion. Thus,one embodiment uses that information as well for state determination.Sudden onset of stimulation would be expected.

The Hyperextension Protection State could be expected in a user with acruciate ligament injury, just prior to heel strike. Highest changecould be expected in modeled ligament force (included in the kneemodel), although knee rotation could create high coronal planeacceleration of the femur with high joint laxity. Brevity of theresultant knee force would produce rapid, pronounced stimulation.

It can be seen that the number of states shown will depend upon thenumber of conditions found painful by the user, and that addition, andmodification, of states may be effected through use of Switch 308. It isassumed that state erasure may be accomplished through a separateactivation of Switch 308, causing Event Indicator to delete unwantedstates as they occur.

Referring now to FIG. 5, Three-Axis Accelerometer 503 is placed at thenominal center of gravity of Golf Cart 501. GPS Sensor 502 is affixed toan area of Golf Cart 502 with optimal view of positioning satellites.Battery 505 provides power to electric Motor 507 through Current Monitor510. Speed Sensor 511 is attached to the output shaft of Motor 507,hence indicating axial speed of said Golf Cart 501. Variable-Ratio Drive504, presumably an electrically-driven planetary gear arrangement,modifies the angular movement of front Wheels 509 caused for a givenrotation of Steering Wheel 508. Controller 506 receives input from saidAccelerometer 503, GPS Receiver 502, Speed Sensor 511, and CurrentMonitor 510; and provides variable control to Variable-Ratio Drive 504,modulating the steering ratio of Golf Cart 501.

Golf carts are notorious for poor lateral stability, yet their prime useis on hilly terrain. An embodiment of the invention reduces thelikelihood of cart roll-over through modulating the steering ratio ofthe vehicle.

Accelerometer 503, GPS Receiver 503, Speed Sensor 511, and CurrentMonitor 510 provide input to Signal Acquisition 201 of FIG. 2, whichperforms the activities given in its description above. Structural Model203 contains an elevation map of the golf course on which Golf Cart 501is to be operated, presumably in a coordinate system compatible with GPSReceiver 502. Controller 506 contains an embodiment of the currentinvention, as shown in FIG. 2, that context following:

Model Resolver 204 applies current physical location and heading,inclination in three axes, and vehicle speed from said Inputs 502, 503,and 511, respectively, to the terrain map of Structural Model 203 inorder to resolve maximum safe yaw rate of change for any given set ofcircumstances. Maximum safe yaw rate so calculated is included withconditioned inputs denoted above as input to History Buffer 205. EventIndicator 210 provides a signal to Criteria Selector 206 and optionallyState Criteria 207 at each significant increase of vehicle speed. Uponreceipt of said signal, Criteria Selector selects one or more of vehiclespeed, vehicle acceleration, or vehicle inclination as the most probablecause of rollover for the given circumstances, and creates two StateDefinitions in State Criteria 207. The first State Definition is one ofseveral States indicating relative probability of rollover, noting thatthe golf cart can roll over even at extremely low speeds if tilted farenough. The second State Definition indicates conditions under whichsteering ratio is to be decreased in order to prolong stability.

Comparator 208 monitors incoming Stream 211 against at least the twoState Definitions illustrated in the preceding paragraph, updatingcurrent State Indication 214 as necessary to State Condition 209. StateCondition 209 provides constants to downstream control softwareincluding a base safe steering ratio during the first State Definitionabove, and one or more constants denoting limits above which steeringratio is to be reduced during the second State Definition above. Uponreceipt of said constants, downstream control software directly controlsthe steering ratio of Variable-Ratio Drive 504, of FIG. 5.

At the onset of forward motion, a base steering ratio will be applied,decreasing with inherent risk of current vehicle conditions, asindicated by the specific State chosen for said first State Definition.This is to improve predictability to the driver. At any point ofdangerous conditions, indicated by successful comparison with saidsecond State Definition, the constants denoting how steering ratio is tobe reduced (such as speeds, gains, etc.) are provided to downstreamcontrol software, which then decreases steering ratio accordingly,through modulation of Variable-Ratio Drive 504. If, at any point,vehicle speed is significantly increased (which will be noted via block210), new State Definitions will be created as described above, toreflect new circumstances.

Control of steering ratio is chosen in this application over vehiclespeed, in that rapid deceleration is a formidable risk factor.

Referring now to FIG. 6, three-axis Accelerometer 602 is affixed to PogoStick 601 at the nominal center of gravity of the stick when beingridden by an average user. Damper 603 is affixed to the lower portion ofthe outer tube of Pogo Stick 601, fully covering the inner tube whenfully extended, below Spring 606. Damper 603 may employmagnetic-rheonetic or electro-rheonetic fluid, magnetic repulsion orattraction, and other methods through which resistance may be introducedbetween inner and outer tubes of Pogo Stick 601. Controller 604 receivesas input accelerations in three axes from Accelerometer 602, andprovides a control signal to Pulse width Modulator 605, which variableexcites Damper 603. It can be seen that said control signal fromController 604 therefore modulates Damper 606, variably reducing kineticenergy storage realizable from Spring 606. Controller 604 contains anembodiment of the current invention, as shown in FIG. 2, that contextfollowing:

Signal Acquisition 201 receives as input inclinations and accelerationsin the sagittal, coronal, and transverse planes of the pogo stick, andhence the rider. Structural Model 203 contains dynamic behavior of thespring of the pogo stick and a rough human rider model consisting of anunknown mass, a first pair of spherical pivots, a first pair of unknownlengths, a pair of hinges, a second pair of unknown lengths, and asecond pair of spherical pivots; representative of a human body centerof mass, two hip joints, two femurs, two knees, two tibias, and twoankles, with nominal hip and knee spacing and ankle spacing matchingthat of the pogo stick. Model Resolver 204 continuously calculates ridermass, rider femur length, rider tibia length, rider knee angle, sagittalangle of rebound, coronal angle of rebound, and coefficient of frictionbetween the end of the pogo stick and the ground. Sagittal and coronalrebound angles and tip coefficient of friction are provided with pogostick inclinations and accelerations to History Buffer 205.

In operation, downstream control software continuously calculatesdeviation in the sagittal and coronal planes with each bounce, toascertain rider ability to control the stick. This information, inaddition to Stream 211, is provided to Criteria Selector 206. EventIndicator 210 provides a signal to Criteria Selector 206 and optionallyState Criteria Buffer 207 at the beginning of each descent of the pogostick, as indicated by Accelerometer 602 of FIG. 5. Upon receipt of saidsignal, Criteria Selector 206 inspects relative ability of the rider inboth sagittal and coronal planes and modeled trajectory of the impendingbounce, to choose the axis most likely to cause rider upset. CriteriaSelector 206 then creates an unsafe State Definition comprised of safetrajectory limits of the impending bounce consistent with both riderability and current conditions, storing this State Definition in StateCriteria 207.

As the rider bounce continues, Comparator 208 indicates an unsafe stateto State Condition Buffer 209 if said unsafe State Definition is met,causing State Condition Buffer 209 to supply damping control parameters(such as time constants or gains) to downstream control software, whichthen increases spring damping through variable activation of Damper 603of FIG. 6, as described above.

Embodiments may include sufficient buffering such that a user need notactivate switch 308 immediately but may instead rely on the buffering toallow the user to activate the switch within a threshold level of time(e.g., 5 seconds) since the event of interest occurred. Furthermore,embodiments such as FIG. 3 include three sensors however otherembodiments may use a single sensor, two sensors, or more than threesensors depending on the movement or state to be monitored and the levelof precision desired. For example, an embodiment may include sensors 309and 303 but not sensor 302, thereby relying on accelerations but nopositional information.

While embodiments regarding the knee are discussed at length, theapplication of embodiments described herein are also applied to golfcarts and Pogo sticks. Thus, the embodiments may be broadly applied toother situations addressing various animal (e.g., human) joints (e.g.,elbow, finger, toe, ankle, hip, shoulder, neck, wrist, back/spine).Stimulations systems may couple with braces or prostheses (e.g.,replacement limbs) but are not limited thereto.

Embodiments may include a positional guidance system. For example, auser may wear a sleeve over his or her knee. The sleeve may pockets tohold sensors such as sensors 309, 303. Those pockets may beposition-adjustable using a coupler such as Velcro. The pockets mayfixedly couple to the sleeve to ensure the user wears the same sensorsin the same locations over time.

From the previous discussion, it can be seen that state determinationmay be driven by reaction of a structure to excitation, as opposed tosimplistic excitation qualification only. Resultantly, state structureof the controlling entity can more closely reflect the structure of thecontrolled environment, extending the action of control to encompasseffects not readily measured. This distinction allows adaptive operationbeyond previous experience, in that multiple sensory inputs, whetherpreviously observed or not, may resultant in the occurrence of markedoperational parameters. It furthermore can be seen that statedifferentiation may be improved through inclusion of state determinationmeans capable of discovering system metrics with optimal dynamic rangein the run-time environment, which may or may not be known during systemdesign.

Given capability of the current invention to create state definitions toaffect control of a system, it is implicit and anticipated thatcapability to delete state definitions as needed is as well included.

Although shown herein at use in very simple control system, broad use ofthe current invention is anticipated in state machine implementations,many of which are known to be more complex, such as hierarchical statestructures. In addition to control of physical devices shown herein,advantageous use of the present invention in non-physical applications,such as data flow control, is as well anticipated.

The variability and extrapolation problems normally seen in fixed oradjustable template-driven control systems can be seen in the disclosureabove to be ameliorated by the creation and use of terms reflective ofsystem response to stimuli in the run-time setting. Resultantly, asystem using the techniques described herein better reflects thestructure being controlled, greatly improving overall system response.

Thus, in an embodiment measured physical conditions (e.g.,accelerations) are applied to a physical model of the joint (e.g., 3Dmodel) being protected. Vectored forces on the load-bearing elements ofthat joint are obtained. This modeled force information is then used tocontrol when and/or how to stimulate the opposing muscle. In anembodiment, non-customized measurements (e.g., general measurements fromone or more accelerometers) are taken and applied to a model to get theconsequences in that particular user's joint. In contrast, conventionalsystems only cover using motion information to determine when tostimulate, not how. Conventional systems do not use modeled vectoredinternal forces to control stimulation. Also, conventional systems donot use measured conditions to modify the physical model being used.

Also, in one embodiment by pressing a button, the patient or provideralerts the device to remember what conditions (especially internalforces) caused something negative (e.g., pain, instability). Thiscontrasts with conventional pre-determined positional templates.

In an embodiment, upon learning of things like laxity of the joint, suchknowledge is applied to a physical model so stimulation offsets the(predicted) force on internal load-bearing surfaces. Control ofconventional stimulation systems using positions, accelerations, and thelike assumes a linear system (e.g., position or acceleration directlycauses problems). This is overly simplistic for real world biologicalconditions, which have many compliances, resistances, and the like. Forexample, an arthritic joint has laxity that acts like hysteresis betweentwo limits (when the condyles hit).

In an embodiment, data available (positions, accelerations, forces) whenthe patient pushes the button is used to find which data items in thecurrent condition are most distinct from normal operation or otherstates. Values are used only for the most readily-visible data items(e.g., medial condyle force) and then only those values are monitored toflag that state is again occurring. This approach lets the controllerfind the most significant items to look for when monitoring for aspecific condition (e.g., force on the joint). Thus an embodimentremembers a set of the most visible things to herald a state.Conventional systems looks at a list of data items (identities) that ispre-determined when the system is designed. Just like a pre-determinedpositional template, this is a pre-determined laundry list that isoverly simplistic and not customized to the user and his or her currentconditions (e.g., weight, activity).

An embodiment includes (a) modeling a first internal force applied to amodel of a user's joint (e.g., knee) based on a first external force(e.g., positive acceleration) externally applied to the joint at a firstposition (e.g., from an inferior direction acting on the tibia); (b)modeling a second internal force applied to the model based on a secondexternal force (e.g., deceleration) externally applied to the joint at asecond position (from a superior direction acting on the femur) unequalto the first position; (c) comparing the first and second modeledinternal forces (e.g., to determine if they are similar); and (d)stimulating the user based on the comparison (e.g., stimulating the userbecause the second external force, which may have been unknown, resultedin an internal force similar to a previous internal force that wasmarked as being problematic). Thus an embodiment may be able to identifyan internal force as being problematic despite never having “seen” theposition that indirectly generates the problematic internal force.

An embodiment may include receiving input from the user corresponding tothe first external source (e.g., activation of a switch when the userfeels pain); and modeling the first internal force based on receivingthe input.

An embodiment may include dynamically creating new models (e.g., on thefly and after the system is out in the field with the patient) based onreceiving the input from the user substantially contemporaneously withthe user experiencing one of joint pain and joint instability (e.g.,existing or occurring in the same period of time such as within 5 or 10seconds of the user feeling pain).

An embodiment includes determining the first and second modeled internalforces are substantially equal according to a chosen factor (e.g.,magnitude, vector, and point of application to the modeled joint, ahighest derivative value of data, statistical prevalence, and the like);and stimulating the user based on the determination.

An embodiment may also include determining a first characteristiccorresponding to the first internal force; and determining a secondplurality of characteristics corresponding to the second internal force;wherein comparing the first and second modeled internal forces includescomparing the first characteristic and the second characteristic, thesecond characteristic being included in the plurality ofcharacteristics. For example, if the user marks a pain event and oneelement out of fifteen appears significant (e.g., an outlier orstatistically prevalent value) then the significant factor may be usedfor later comparisons to identify that pain state. As another example,one may not appreciate what factor will be most significant indetermining a problematic state exists until after the product is in thefield. Thus, the ability to evaluate several factors and choose amongthem to build states on those significant factors can help buildpredictive models long after a device is released to the field.

Embodiments may be implemented in many different system types. Referringnow to FIG. 7, shown is a block diagram of a system in accordance withan embodiment of the present invention. Multiprocessor system 500 is apoint-to-point interconnect system, and includes a first processor 570and a second processor 580 coupled via a point-to-point interconnect550. Each of processors 570 and 580 may be multicore processors. Theterm “processor” may refer to any device or portion of a device thatprocesses electronic data from registers and/or memory to transform thatelectronic data into other electronic data that may be stored inregisters and/or memory. First processor 570 may include a memorycontroller hub (MCH) and point-to-point (P-P) interfaces. Similarly,second processor 580 may include a MCH and P-P interfaces. The MCHs maycouple the processors to respective memories, namely memory 532 andmemory 534, which may be portions of main memory (e.g., a dynamic randomaccess memory (DRAM)) locally attached to the respective processors.First processor 570 and second processor 580 may be coupled to a chipset590 via P-P interconnects, respectively. Chipset 590 may include P-Pinterfaces. Furthermore, chipset 590 may be coupled to a first bus 516via an interface. Various input/output (I/O) devices 514 may be coupledto first bus 516, along with a bus bridge 518, which couples first bus516 to a second bus 520. Various devices may be coupled to second bus520 including, for example, communication devices 526, and data storageunit 528 such as a disk drive or other mass storage device, which mayinclude code 530, in one embodiment.

Embodiments may be implemented in code and may be stored on anon-transitory storage medium having stored thereon instructions whichcan be used to program a system to perform the instructions. The storagemedium may include, but is not limited to, any type of disk includingfloppy disks, optical disks, optical disks, solid state drives (SSDs),compact disk read-only memories (CD-ROMs), compact disk rewritables(CD-RWs), and magneto-optical disks, semiconductor devices such asread-only memories (ROMs), random access memories (RAMs) such as dynamicrandom access memories (DRAMs), static random access memories (SRAMs),erasable programmable read-only memories (EPROMs), flash memories,electrically erasable programmable read-only memories (EEPROMs),magnetic or optical cards, or any other type of media suitable forstoring electronic instructions. Embodiments of the invention may bedescribed herein with reference to data such as instructions, functions,procedures, data structures, application programs, configurationsettings, code, and the like. When the data is accessed by a machine,the machine may respond by performing tasks, defining abstract datatypes, establishing low-level hardware contexts, and/or performing otheroperations, as described in greater detail herein. The data may bestored in volatile and/or non-volatile data storage. The terms “code” or“program” cover a broad range of components and constructs, includingapplications, drivers, processes, routines, methods, modules, andsubprograms and may refer to any collection of instructions which, whenexecuted by a processing system, performs a desired operation oroperations. In addition, alternative embodiments may include processesthat use fewer than all of the disclosed operations, processes that useadditional operations, processes that use the same operations in adifferent sequence, and processes in which the individual operationsdisclosed herein are combined, subdivided, or otherwise altered.Components or modules may be combined or separated as desired, and maybe positioned in one or more portions of a device.

While the present invention has been described with respect to a limitednumber of embodiments, those skilled in the art will appreciate numerousmodifications and variations therefrom. It is intended that the appendedclaims cover all such modifications and variations as fall within thetrue spirit and scope of this present invention.

1. A method executed by at least one processor comprising: modeling afirst internal force applied to a model of a user's joint based on afirst external force externally applied to the joint at a firstposition; modeling a second internal force applied to the model based ona second external force externally applied to the joint at a secondposition unequal to the first position; comparing the first and secondmodeled internal forces; and stimulating the user based on thecomparison.
 2. The method of claim 1 comprising: receiving input fromthe user corresponding to the first external source; and modeling thefirst internal force based on receiving the input.
 3. The method ofclaim 2 including dynamically creating a first model based on (a) thefirst internal force applied to the model, (b) receiving the input fromthe user substantially contemporaneously with the user experiencing oneof joint pain and joint instability.
 4. The method of claim 1, whereinthe first external force and the first internal force are non-linearlyrelated.
 5. The method of claim 1 comprising: based on comparing thefirst and second modeled internal forces, determining the first andsecond modeled internal forces are substantially equal according to oneof magnitude, vector, and point of application to the modeled joint; andstimulating the user based on the determination.
 6. The method of claim1 comprising: determining a first characteristic corresponding to thefirst internal force; and determining a second plurality ofcharacteristics corresponding to the second internal force; whereincomparing the first and second modeled internal forces includescomparing the first characteristic and the second characteristic, thesecond characteristic being included in the plurality ofcharacteristics.
 7. The method of claim 1 including modeling the secondexternal force and comparing the first and second modeled internalforces substantially contemporaneously with the application of thesecond external force to the user.
 8. The method of claim 1 comprisingstimulating the user at a first magnitude based on a magnitude of themodeled second internal force.
 9. The method of claim 1 comprising:determining a plurality of characteristics corresponding to the secondexternal force; determining a second characteristic that isstatistically significant, the second characteristic included in theplurality of characteristics; and comparing the first and second modeledinternal forces based on the second characteristic.
 10. A systemcomprising: a memory; at least one processor, coupled to the memory, to:model a first internal force applied to a model of a user's joint basedon a first external force externally applied to the joint at a firstposition; model a second internal force applied to the model based on asecond external force externally applied to the joint at a secondposition unequal to the first position; compare the first and secondmodeled internal forces; and stimulate the user based on the comparison.11. The system of claim 10, wherein the at least one processor is to:receive input from the user corresponding to the first external source;and model the first internal force based on receiving the input.
 12. Thesystem of claim 11, wherein the at least one processor is to dynamicallycreate a first model based on (a) the first internal force applied tothe model, (b) receiving the input from the user substantiallycontemporaneously with the user experiencing one of joint pain and jointinstability.
 13. The system of claim 10, wherein the at least oneprocessor is to: determine a plurality of characteristics correspondingto the second external force; determine a second characteristic that isstatistically significant, the second characteristic included in theplurality of characteristics; and compare the first and second modeledinternal forces based on the second characteristic.
 14. The system ofclaim 10, wherein the at least one processor is to: determine a firstcharacteristic corresponding to the first internal force; and determinea second plurality of characteristics corresponding to the secondinternal force; wherein comparing the first and second modeled internalforces includes comparing the first characteristic and the secondcharacteristic, the second characteristic being included in theplurality of characteristics.
 15. (canceled)
 16. At least one storagemedium having instructions stored thereon for causing a system to: modela first internal force applied to a model of a user's joint based on afirst external force externally applied to the joint at a firstposition; model a second internal force applied to the model based on asecond external force externally applied to the joint at a secondposition unequal to the first position; compare the first and secondmodeled internal forces; and stimulate the user based on the comparison.17. The at least one medium of claim 16 comprising instructions to:receive input from the user corresponding to the first external source;and model the first internal force based on receiving the input.
 18. Theat least one medium of claim 17 comprising instructions to dynamicallycreate a first model based on (a) the first internal force applied tothe model, (b) receiving the input from the user substantiallycontemporaneously with the user experiencing one of joint pain and jointinstability.
 19. The at least one medium of claim 16 comprisinginstructions to: determine a plurality of characteristics correspondingto the second external force; determine a second characteristic that isstatistically significant, the second characteristic included in theplurality of characteristics; and compare the first and second modeledinternal forces based on the second characteristic.
 20. The at least onemedium of claim 16 comprising instructions to: determine a firstcharacteristic corresponding to the first internal force; and determinea second plurality of characteristics corresponding to the secondinternal force; wherein comparing the first and second modeled internalforces includes comparing the first characteristic and the secondcharacteristic, the second characteristic being included in theplurality of characteristics.